Formal Methods for Developing Software Specifications: Paths to Wider Usage
نویسنده
چکیده
Although many formal methods have been proposed for improving the quality of software speciications, a number of barriers to widespread use of these methods remain. This paper describes four of these barriers|failure to scale, unnatural interfaces, limited analysis capabilities, and insuu-cient tool integration|and suggests some promising approaches for overcoming them. These approaches include automated abstraction, user interfaces designed for ease of use, and the application of powerful decision procedures. To illustrate the barriers and approaches to overcoming them, several examples are presented based on the SCR (Software Cost Reduction) requirements method.
منابع مشابه
Reachability checking in complex and concurrent software systems using intelligent search methods
Software system verification is an efficient technique for ensuring the correctness of a software product, especially in safety-critical systems in which a small bug may have disastrous consequences. The goal of software verification is to ensure that the product fulfills the requirements. Studies show that the cost of finding and fixing errors in design time is less than finding and fixing the...
متن کاملTest Data Generation for Programs with Quantified First-Order Logic Specifications
We present a novel algorithm for test data generation that is based on techniques used in formal software verification. Prominent examples of such formal techniques are symbolic execution, theorem proving, satisfiability solving, and usage of specifications and program annotations such as loop invariants. These techniques are suitable for testing of small programs, such as, e.g., implementation...
متن کاملFrom Visual Specifications to Executable Code
Conceptual analysis in many domains uses visual representation of objects and relationships. This is obviously true for engineering domains where graphics is often a part of design documentation. It is true for software engineering as well, where we have well-established graphical representation of various software artifacts. Attempts are made to formalize the semantics of visual representation...
متن کاملFrom Requirements to Specifications: A Case Study
Formal software verification is concerned with the correctness of programs with respect to some specification. Although there exist examples of the usage of program verification tools and methods for large enterprises, the benefits remain inaccessible to most software developers and companies, because the usage of formal methods incorporates high entry costs: Expensive experts have to be employ...
متن کاملFormal Specifications in Software Development: an Overview
Formal methods find increasing usage for system and software specifications . In this paper, we discuss some benefits resulting from the use of such methods, together with some properties shared by most of them. Some possible criteria for classification are also presented, and a tabular overview is given of some of the most well-known methods. A number of known formal methods are reviewed, and ...
متن کامل